package com.shenghua.dao.model;

import com.shenghua.dao.page.Page;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class LimitsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected String groupBy;

    protected Page page;

    public LimitsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setGroupBy(String groupBy) {
        this.groupBy=groupBy;
    }

    public String getGroupBy() {
        return groupBy;
    }

    public void setPage(Page page) {
        this.page=page;
    }

    public Page getPage() {
        return page;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andLimitNameIsNull() {
            addCriterion("limit_name is null");
            return (Criteria) this;
        }

        public Criteria andLimitNameIsNotNull() {
            addCriterion("limit_name is not null");
            return (Criteria) this;
        }

        public Criteria andLimitNameEqualTo(String value) {
            addCriterion("limit_name =", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameNotEqualTo(String value) {
            addCriterion("limit_name <>", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameGreaterThan(String value) {
            addCriterion("limit_name >", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameGreaterThanOrEqualTo(String value) {
            addCriterion("limit_name >=", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameLessThan(String value) {
            addCriterion("limit_name <", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameLessThanOrEqualTo(String value) {
            addCriterion("limit_name <=", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameLike(String value) {
            addCriterion("limit_name like", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameNotLike(String value) {
            addCriterion("limit_name not like", value, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameIn(List<String> values) {
            addCriterion("limit_name in", values, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameNotIn(List<String> values) {
            addCriterion("limit_name not in", values, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameBetween(String value1, String value2) {
            addCriterion("limit_name between", value1, value2, "limitName");
            return (Criteria) this;
        }

        public Criteria andLimitNameNotBetween(String value1, String value2) {
            addCriterion("limit_name not between", value1, value2, "limitName");
            return (Criteria) this;
        }

        public Criteria andIconIsNull() {
            addCriterion("icon is null");
            return (Criteria) this;
        }

        public Criteria andIconIsNotNull() {
            addCriterion("icon is not null");
            return (Criteria) this;
        }

        public Criteria andIconEqualTo(String value) {
            addCriterion("icon =", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotEqualTo(String value) {
            addCriterion("icon <>", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThan(String value) {
            addCriterion("icon >", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThanOrEqualTo(String value) {
            addCriterion("icon >=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThan(String value) {
            addCriterion("icon <", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThanOrEqualTo(String value) {
            addCriterion("icon <=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLike(String value) {
            addCriterion("icon like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotLike(String value) {
            addCriterion("icon not like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconIn(List<String> values) {
            addCriterion("icon in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotIn(List<String> values) {
            addCriterion("icon not in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconBetween(String value1, String value2) {
            addCriterion("icon between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotBetween(String value1, String value2) {
            addCriterion("icon not between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andLimitTypeIsNull() {
            addCriterion("limit_type is null");
            return (Criteria) this;
        }

        public Criteria andLimitTypeIsNotNull() {
            addCriterion("limit_type is not null");
            return (Criteria) this;
        }

        public Criteria andLimitTypeEqualTo(String value) {
            addCriterion("limit_type =", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeNotEqualTo(String value) {
            addCriterion("limit_type <>", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeGreaterThan(String value) {
            addCriterion("limit_type >", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeGreaterThanOrEqualTo(String value) {
            addCriterion("limit_type >=", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeLessThan(String value) {
            addCriterion("limit_type <", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeLessThanOrEqualTo(String value) {
            addCriterion("limit_type <=", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeLike(String value) {
            addCriterion("limit_type like", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeNotLike(String value) {
            addCriterion("limit_type not like", value, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeIn(List<String> values) {
            addCriterion("limit_type in", values, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeNotIn(List<String> values) {
            addCriterion("limit_type not in", values, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeBetween(String value1, String value2) {
            addCriterion("limit_type between", value1, value2, "limitType");
            return (Criteria) this;
        }

        public Criteria andLimitTypeNotBetween(String value1, String value2) {
            addCriterion("limit_type not between", value1, value2, "limitType");
            return (Criteria) this;
        }

        public Criteria andOpenStyleIsNull() {
            addCriterion("open_style is null");
            return (Criteria) this;
        }

        public Criteria andOpenStyleIsNotNull() {
            addCriterion("open_style is not null");
            return (Criteria) this;
        }

        public Criteria andOpenStyleEqualTo(String value) {
            addCriterion("open_style =", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleNotEqualTo(String value) {
            addCriterion("open_style <>", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleGreaterThan(String value) {
            addCriterion("open_style >", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleGreaterThanOrEqualTo(String value) {
            addCriterion("open_style >=", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleLessThan(String value) {
            addCriterion("open_style <", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleLessThanOrEqualTo(String value) {
            addCriterion("open_style <=", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleLike(String value) {
            addCriterion("open_style like", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleNotLike(String value) {
            addCriterion("open_style not like", value, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleIn(List<String> values) {
            addCriterion("open_style in", values, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleNotIn(List<String> values) {
            addCriterion("open_style not in", values, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleBetween(String value1, String value2) {
            addCriterion("open_style between", value1, value2, "openStyle");
            return (Criteria) this;
        }

        public Criteria andOpenStyleNotBetween(String value1, String value2) {
            addCriterion("open_style not between", value1, value2, "openStyle");
            return (Criteria) this;
        }

        public Criteria andAddrIsNull() {
            addCriterion("addr is null");
            return (Criteria) this;
        }

        public Criteria andAddrIsNotNull() {
            addCriterion("addr is not null");
            return (Criteria) this;
        }

        public Criteria andAddrEqualTo(String value) {
            addCriterion("addr =", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrNotEqualTo(String value) {
            addCriterion("addr <>", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrGreaterThan(String value) {
            addCriterion("addr >", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrGreaterThanOrEqualTo(String value) {
            addCriterion("addr >=", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrLessThan(String value) {
            addCriterion("addr <", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrLessThanOrEqualTo(String value) {
            addCriterion("addr <=", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrLike(String value) {
            addCriterion("addr like", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrNotLike(String value) {
            addCriterion("addr not like", value, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrIn(List<String> values) {
            addCriterion("addr in", values, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrNotIn(List<String> values) {
            addCriterion("addr not in", values, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrBetween(String value1, String value2) {
            addCriterion("addr between", value1, value2, "addr");
            return (Criteria) this;
        }

        public Criteria andAddrNotBetween(String value1, String value2) {
            addCriterion("addr not between", value1, value2, "addr");
            return (Criteria) this;
        }

        public Criteria andLimitSortIsNull() {
            addCriterion("limit_sort is null");
            return (Criteria) this;
        }

        public Criteria andLimitSortIsNotNull() {
            addCriterion("limit_sort is not null");
            return (Criteria) this;
        }

        public Criteria andLimitSortEqualTo(Integer value) {
            addCriterion("limit_sort =", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortNotEqualTo(Integer value) {
            addCriterion("limit_sort <>", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortGreaterThan(Integer value) {
            addCriterion("limit_sort >", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("limit_sort >=", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortLessThan(Integer value) {
            addCriterion("limit_sort <", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortLessThanOrEqualTo(Integer value) {
            addCriterion("limit_sort <=", value, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortIn(List<Integer> values) {
            addCriterion("limit_sort in", values, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortNotIn(List<Integer> values) {
            addCriterion("limit_sort not in", values, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortBetween(Integer value1, Integer value2) {
            addCriterion("limit_sort between", value1, value2, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitSortNotBetween(Integer value1, Integer value2) {
            addCriterion("limit_sort not between", value1, value2, "limitSort");
            return (Criteria) this;
        }

        public Criteria andLimitCodeIsNull() {
            addCriterion("limit_code is null");
            return (Criteria) this;
        }

        public Criteria andLimitCodeIsNotNull() {
            addCriterion("limit_code is not null");
            return (Criteria) this;
        }

        public Criteria andLimitCodeEqualTo(Integer value) {
            addCriterion("limit_code =", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeNotEqualTo(Integer value) {
            addCriterion("limit_code <>", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeGreaterThan(Integer value) {
            addCriterion("limit_code >", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("limit_code >=", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeLessThan(Integer value) {
            addCriterion("limit_code <", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeLessThanOrEqualTo(Integer value) {
            addCriterion("limit_code <=", value, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeIn(List<Integer> values) {
            addCriterion("limit_code in", values, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeNotIn(List<Integer> values) {
            addCriterion("limit_code not in", values, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeBetween(Integer value1, Integer value2) {
            addCriterion("limit_code between", value1, value2, "limitCode");
            return (Criteria) this;
        }

        public Criteria andLimitCodeNotBetween(Integer value1, Integer value2) {
            addCriterion("limit_code not between", value1, value2, "limitCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeIsNull() {
            addCriterion("parent_code is null");
            return (Criteria) this;
        }

        public Criteria andParentCodeIsNotNull() {
            addCriterion("parent_code is not null");
            return (Criteria) this;
        }

        public Criteria andParentCodeEqualTo(Integer value) {
            addCriterion("parent_code =", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeNotEqualTo(Integer value) {
            addCriterion("parent_code <>", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeGreaterThan(Integer value) {
            addCriterion("parent_code >", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("parent_code >=", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeLessThan(Integer value) {
            addCriterion("parent_code <", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeLessThanOrEqualTo(Integer value) {
            addCriterion("parent_code <=", value, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeIn(List<Integer> values) {
            addCriterion("parent_code in", values, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeNotIn(List<Integer> values) {
            addCriterion("parent_code not in", values, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeBetween(Integer value1, Integer value2) {
            addCriterion("parent_code between", value1, value2, "parentCode");
            return (Criteria) this;
        }

        public Criteria andParentCodeNotBetween(Integer value1, Integer value2) {
            addCriterion("parent_code not between", value1, value2, "parentCode");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNull() {
            addCriterion("is_show is null");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNotNull() {
            addCriterion("is_show is not null");
            return (Criteria) this;
        }

        public Criteria andIsShowEqualTo(String value) {
            addCriterion("is_show =", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotEqualTo(String value) {
            addCriterion("is_show <>", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThan(String value) {
            addCriterion("is_show >", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThanOrEqualTo(String value) {
            addCriterion("is_show >=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThan(String value) {
            addCriterion("is_show <", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThanOrEqualTo(String value) {
            addCriterion("is_show <=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLike(String value) {
            addCriterion("is_show like", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotLike(String value) {
            addCriterion("is_show not like", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowIn(List<String> values) {
            addCriterion("is_show in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotIn(List<String> values) {
            addCriterion("is_show not in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowBetween(String value1, String value2) {
            addCriterion("is_show between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotBetween(String value1, String value2) {
            addCriterion("is_show not between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNull() {
            addCriterion("created is null");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNotNull() {
            addCriterion("created is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedEqualTo(Date value) {
            addCriterion("created =", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotEqualTo(Date value) {
            addCriterion("created <>", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThan(Date value) {
            addCriterion("created >", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
            addCriterion("created >=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThan(Date value) {
            addCriterion("created <", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThanOrEqualTo(Date value) {
            addCriterion("created <=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedIn(List<Date> values) {
            addCriterion("created in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotIn(List<Date> values) {
            addCriterion("created not in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedBetween(Date value1, Date value2) {
            addCriterion("created between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotBetween(Date value1, Date value2) {
            addCriterion("created not between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNull() {
            addCriterion("updated is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNotNull() {
            addCriterion("updated is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedEqualTo(Date value) {
            addCriterion("updated =", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotEqualTo(Date value) {
            addCriterion("updated <>", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThan(Date value) {
            addCriterion("updated >", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThanOrEqualTo(Date value) {
            addCriterion("updated >=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThan(Date value) {
            addCriterion("updated <", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThanOrEqualTo(Date value) {
            addCriterion("updated <=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedIn(List<Date> values) {
            addCriterion("updated in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotIn(List<Date> values) {
            addCriterion("updated not in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedBetween(Date value1, Date value2) {
            addCriterion("updated between", value1, value2, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotBetween(Date value1, Date value2) {
            addCriterion("updated not between", value1, value2, "updated");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andDescribedIsNull() {
            addCriterion("described is null");
            return (Criteria) this;
        }

        public Criteria andDescribedIsNotNull() {
            addCriterion("described is not null");
            return (Criteria) this;
        }

        public Criteria andDescribedEqualTo(String value) {
            addCriterion("described =", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedNotEqualTo(String value) {
            addCriterion("described <>", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedGreaterThan(String value) {
            addCriterion("described >", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedGreaterThanOrEqualTo(String value) {
            addCriterion("described >=", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedLessThan(String value) {
            addCriterion("described <", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedLessThanOrEqualTo(String value) {
            addCriterion("described <=", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedLike(String value) {
            addCriterion("described like", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedNotLike(String value) {
            addCriterion("described not like", value, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedIn(List<String> values) {
            addCriterion("described in", values, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedNotIn(List<String> values) {
            addCriterion("described not in", values, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedBetween(String value1, String value2) {
            addCriterion("described between", value1, value2, "described");
            return (Criteria) this;
        }

        public Criteria andDescribedNotBetween(String value1, String value2) {
            addCriterion("described not between", value1, value2, "described");
            return (Criteria) this;
        }

        public Criteria andCreateUseridIsNull() {
            addCriterion("create_userId is null");
            return (Criteria) this;
        }

        public Criteria andCreateUseridIsNotNull() {
            addCriterion("create_userId is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUseridEqualTo(String value) {
            addCriterion("create_userId =", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridNotEqualTo(String value) {
            addCriterion("create_userId <>", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridGreaterThan(String value) {
            addCriterion("create_userId >", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridGreaterThanOrEqualTo(String value) {
            addCriterion("create_userId >=", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridLessThan(String value) {
            addCriterion("create_userId <", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridLessThanOrEqualTo(String value) {
            addCriterion("create_userId <=", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridLike(String value) {
            addCriterion("create_userId like", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridNotLike(String value) {
            addCriterion("create_userId not like", value, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridIn(List<String> values) {
            addCriterion("create_userId in", values, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridNotIn(List<String> values) {
            addCriterion("create_userId not in", values, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridBetween(String value1, String value2) {
            addCriterion("create_userId between", value1, value2, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateUseridNotBetween(String value1, String value2) {
            addCriterion("create_userId not between", value1, value2, "createUserid");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameIsNull() {
            addCriterion("create_nickname is null");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameIsNotNull() {
            addCriterion("create_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameEqualTo(String value) {
            addCriterion("create_nickname =", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameNotEqualTo(String value) {
            addCriterion("create_nickname <>", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameGreaterThan(String value) {
            addCriterion("create_nickname >", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("create_nickname >=", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameLessThan(String value) {
            addCriterion("create_nickname <", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameLessThanOrEqualTo(String value) {
            addCriterion("create_nickname <=", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameLike(String value) {
            addCriterion("create_nickname like", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameNotLike(String value) {
            addCriterion("create_nickname not like", value, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameIn(List<String> values) {
            addCriterion("create_nickname in", values, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameNotIn(List<String> values) {
            addCriterion("create_nickname not in", values, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameBetween(String value1, String value2) {
            addCriterion("create_nickname between", value1, value2, "createNickname");
            return (Criteria) this;
        }

        public Criteria andCreateNicknameNotBetween(String value1, String value2) {
            addCriterion("create_nickname not between", value1, value2, "createNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridIsNull() {
            addCriterion("update_userId is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridIsNotNull() {
            addCriterion("update_userId is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridEqualTo(String value) {
            addCriterion("update_userId =", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridNotEqualTo(String value) {
            addCriterion("update_userId <>", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridGreaterThan(String value) {
            addCriterion("update_userId >", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridGreaterThanOrEqualTo(String value) {
            addCriterion("update_userId >=", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridLessThan(String value) {
            addCriterion("update_userId <", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridLessThanOrEqualTo(String value) {
            addCriterion("update_userId <=", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridLike(String value) {
            addCriterion("update_userId like", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridNotLike(String value) {
            addCriterion("update_userId not like", value, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridIn(List<String> values) {
            addCriterion("update_userId in", values, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridNotIn(List<String> values) {
            addCriterion("update_userId not in", values, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridBetween(String value1, String value2) {
            addCriterion("update_userId between", value1, value2, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateUseridNotBetween(String value1, String value2) {
            addCriterion("update_userId not between", value1, value2, "updateUserid");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameIsNull() {
            addCriterion("update_nickname is null");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameIsNotNull() {
            addCriterion("update_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameEqualTo(String value) {
            addCriterion("update_nickname =", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameNotEqualTo(String value) {
            addCriterion("update_nickname <>", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameGreaterThan(String value) {
            addCriterion("update_nickname >", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("update_nickname >=", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameLessThan(String value) {
            addCriterion("update_nickname <", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameLessThanOrEqualTo(String value) {
            addCriterion("update_nickname <=", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameLike(String value) {
            addCriterion("update_nickname like", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameNotLike(String value) {
            addCriterion("update_nickname not like", value, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameIn(List<String> values) {
            addCriterion("update_nickname in", values, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameNotIn(List<String> values) {
            addCriterion("update_nickname not in", values, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameBetween(String value1, String value2) {
            addCriterion("update_nickname between", value1, value2, "updateNickname");
            return (Criteria) this;
        }

        public Criteria andUpdateNicknameNotBetween(String value1, String value2) {
            addCriterion("update_nickname not between", value1, value2, "updateNickname");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}